package com.hospital.common.core.module.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author lvyao
 * @since 2021-02-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("EXAM_MASTER")
public class ExamMaster implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("EXAM_NO")
    private String examNo;

    @TableField("LOCAL_ID_CLASS")
    private String localIdClass;

    @TableField("PATIENT_LOCAL_ID")
    private String patientLocalId;

    @TableField("PATIENT_ID")
    private String patientId;

    @TableField("VISIT_ID")
    private Integer visitId;

    @TableField("NAME")
    private String name;

    @TableField("SEX")
    private String sex;

    @TableField("DATE_OF_BIRTH")
    private Date dateOfBirth;

    @TableField("EXAM_CLASS")
    private String examClass;

    @TableField("EXAM_SUB_CLASS")
    private String examSubClass;

    @TableField("SPM_RECVED_DATE")
    private Date spmRecvedDate;

    @TableField("CLIN_SYMP")
    private String clinSymp;

    @TableField("PHYS_SIGN")
    private String physSign;

    @TableField("RELEVANT_LAB_TEST")
    private String relevantLabTest;

    @TableField("RELEVANT_DIAG")
    private String relevantDiag;

    @TableField("CLIN_DIAG")
    private String clinDiag;

    @TableField("EXAM_MODE")
    private String examMode;

    @TableField("EXAM_GROUP")
    private String examGroup;

    @TableField("DEVICE")
    private String device;

    @TableField("PERFORMED_BY")
    private String performedBy;

    @TableField("PATIENT_SOURCE")
    private String patientSource;

    @TableField("FACILITY")
    private String facility;

    @TableField("REQ_DATE_TIME")
    private Timestamp reqDateTime;

    @TableField("REQ_DEPT")
    private String reqDept;

    @TableField("REQ_PHYSICIAN")
    private String reqPhysician;

    @TableField("REQ_MEMO")
    private String reqMemo;

    @TableField("SCHEDULED_DATE_TIME")
    private Date scheduledDateTime;

    @TableField("NOTICE")
    private String notice;

    @TableField("EXAM_DATE_TIME")
    private Date examDateTime;

    @TableField("REPORT_DATE_TIME")
    private Timestamp reportDateTime;

    @TableField("TECHNICIAN")
    private String technician;

    @TableField("REPORTER")
    private String reporter;

    @TableField("RESULT_STATUS")
    private String resultStatus;

    @TableField("COSTS")
    private BigDecimal costs;

    @TableField("CHARGES")
    private BigDecimal charges;

    @TableField("CHARGE_INDICATOR")
    private Integer chargeIndicator;

    @TableField("IDENTITY")
    private String identity;

    @TableField("CHARGE_TYPE")
    private String chargeType;

    @TableField("BED_NO")
    private Integer bedNo;

    @TableField("STUDY_UID")
    private String studyUid;

    @TableField("TEST_CAUSE")
    private String testCause;

    @TableField("PRINT_FLAG")
    private String printFlag;

    @TableField("EXAM_GOAL")
    private String examGoal;

    @TableField(exist = false)
    private String performedByName;

    @TableField(exist = false)
    private String reqDeptName;



    @TableField(exist = false)
    private String reqPhysicianCode;

}
